package com.shaoyuwang;

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import java.sql.*;

/**
 * 测试jdbc: Java代码与数据库连接，打印全部数据库名
 */
public class Demo1 {
    public static void main(String[] args) throws SQLException {
        // show databases
        // 类似：保存联系人信息
        MysqlDataSource db = new MysqlDataSource();
        // 找到服务器和端口
        db.setServerName("localhost");
        db.setPort(3306);
        // 验证用户名和密码
        db.setUser("root");
        db.setPassword("123456");
        // 配置其它信息
        db.setUseSSL(false);
        db.setCharacterEncoding("utf-8");
        db.setServerTimezone("Asia/Shanghai");


//        Connection c = null;
//        try {
//            c = db.getConnection();
//        } finally {
//            if (c != null) {
//                c.close();
//            }
//        }


        // Connection ：连接
        try (Connection c = db.getConnection()) {
            // Statement: 语句 ：要说的话
            String sql = "show databases";
            try (PreparedStatement ps = c.prepareStatement(sql)) {
                // execute: 执行   query：查询
                try (ResultSet rs = ps.executeQuery()) {
                    // 遍历得到的结果，打印到控制台（屏幕）
                    while (rs.next()) {
                        String name = rs.getString(1);
                        System.out.println(name);
                    }
                }
            }
        }
    }
}
